<?php
class Estado extends Zend_Db_Table
{
	protected $_primary = 'id_estado';
	protected $_name    = 'estado';
	private $cidades;

	public function getDependentes(){
		return $this->cidades;
	}
	
	private function carregarDependentes(){
		$db = Zend_Registry::get('db');
		$sql= 'select id_cidade id, 
					  ds_cidade des
			     from cidade
			    where id_estado = '.$this->id_estado;
	    return $db->query($sql)->fetchAll();
	}	
	
	public function __construct(){
		parent::__construct();
   		$this->id_estado 		= null;
    	$this->ds_estado 		= null;
    	$this->id_pais 			= null;
    	$this->ds_sigla         = null;
   	}
	public function load($id){
    	$row = $this->find($id)->current();
    	$this->id_estado 		= $row["id_estado"];
    	$this->ds_estado 		= $row["ds_estado"];
    	$this->ds_sigla			= $row["ds_sigla"];
    	$this->id_pais 			= $row["id_pais"];
    	if ($this->id_estado>0){
    		$this->cidades=$this->carregarDependentes();
    	}
    }

    
	public function buscar($ds_estado=null, $id_pais=0){
		$db = Zend_Registry::get('db');
		$sql= 'select id_estado,
                      ds_estado,
                      e.id_pais
                 from estado e
                where 1=1';
		if ($id_pais>0){
			$sql.=' and e.id_pais='.$id_pais;
		}
		if ($ds_estado!=null){
			$sql.=' and upper(e.ds_estado) like "'.strtoupper($ds_estado).'%"';
		}
		return $db->query($sql)->fetchAll();
	}
}